草庐IT

php - 执行测试的百分比

全部标签

ruby - 使用 serverspec 使用相同的测试测试多个主机

Serverspec站点的高级提示部分显示了使用相同测试集测试多个主机的示例。我自己构建了一个示例(https://gist.github.com/neilhwatson/81249ad393800a76a8ad),但存在问题。第一个问题是测试在第一次失败时停止,而不是通过批处理继续进行并保持计数。第二个是故障输出没有指明故障发生在哪个主机上。我该怎么做才能解决这些问题并为所有房东生成最终报告? 最佳答案 对于第一个问题,默认情况下ServerSpec将运行您的所有测试。但是,由于您有一个为每个环境执行Rake任务的循环,因此第一个

ruby - 传递给 `instance_exec` 时如何执行 proc

问题的灵感来自thisone.Proc::new有一个选项可以在方法内部没有block的情况下调用:Proc::newmaybecalledwithoutablockonlywithinamethodwithanattachedblock,inwhichcasethatblockisconvertedtotheProcobject.当proc/lambda实例作为代码块传递时,将创建Proc的新实例:Proc.singleton_class.prepend(Module.newdodefnew(*args,&cb)puts"PROC#{[block_given?,cb,*args].i

ruby-on-rails - 使用 simplecov 的 Ruby on Rails 测试覆盖率

我想分析我们代码的测试覆盖率,因此安装了simplecovgem。我们的测试环境有2个独立的项目:RESTAPI测试(Java+Rest-Assured)和WebUI测试(Java-Selenium)。如您所见,我们没有在Rails应用程序内部进行单元测试,我们正在使用外部项目进行测试。我按照教程中的描述配置了simplecovgem,并将其放入rails脚本中:require'simplecov'SimpleCov.start'rails'puts"requiresimplecov"加载应用程序时,我看到了我打印的字符串。我运行了两个自动化测试项目,在rails日志中看到了它们的打印

ruby - 从包含的文件中,如何获取执行包含的文件的文件名?

对于问题标题措辞不佳的道歉-不知道如何把它说得更好!在下面的代码中,当我执行rubybar.rb时,如何让它输出bar.rb,而不是foo.rb?在foo.rb中:moduleFoodeffilename__FILE__endend在bar.rb中:require_relative'foo'includeFooputsfilename#outputs'foo.rb'这是一个库函数,每次执行一些代码时,都会记录该代码的位置(和gitref)。 最佳答案 你的问题促使我打开Ruby解释器源代码,看看__FILE__是如何工作的。答案很有

ruby-on-rails - Rspec:如何测试 ActiveRecord::Base.connection.execute

我正在使用原始/裸机sql插入来提高我服务的写入性能。我的模块中有这样的东西-insert="('#{id}','#{status}','#{some_time_val}')"sql_string="INSERTINTOhistory('device_id','status','time')VALUES#{insert}"ActiveRecord::Base.connection.executesql_string当我编写如下所示的rspec时,它会测试除插入是否通过之外的所有内容。因此,由于rspec、database_cleaner等执行回滚和事务的方式,我的期望永远不会奏效。我尝

ruby-on-rails - RSpec 测试 Devise Mailer

我是RSpec和TDD的新手,我在编写RSpec测试来测试Devise是否真的在用户注册后发送确认电子邮件时遇到了困难。我知道我的应用程序正在按预期工作,因为我已经对开发和生产中的功能进行了物理测试。但是,我仍然需要为此功能编写RSpec测试,我不知道如何通过RSpec测试发送确认电子邮件。factories/user.rbFactoryGirl.definedofactory:userdoname"JackSparrow"email{Faker::Internet.email}password"helloworld"password_confirmation"helloworld"c

ruby - 如何测试 RSpec 中的信号处理,特别是 SIGTERM 的处理?

Heroku可能会出于各种原因向您的应用程序发送SIGTERM,因此我创建了一个处理程序来处理一些清理工作,以防发生这种情况。一些谷歌搜索没有给出任何关于如何在RSpec中测试它的答案或示例。这是基本代码:Signal.trap('TERM')docleanupenddefcleanupputs"doingsomecleanupstuff"...exitend当程序收到SIGTERM时,测试调用此清理方法的最佳方法是什么? 最佳答案 使用Process.kill'TERM',0将信号发送到RSpec并测试调用处理程序。确实,如果信号

ruby-on-rails - 在 rails 3.1 中运行 rspec 测试时如何抑制/禁用 "cache miss"消息

在运行请求rspec规范时,我开始看到以下输出:cache:[GET/login]misscache:[GET/javascripts/jquery.min.js?1317513028]miss通常情况下,通过测试我会得到绿点,在错误消息中我会得到带有一些信息的红色F。有没有办法从输出中禁用缓存未命中消息? 最佳答案 我认为这与rspec无关,rspec只是打印出rails日志中的内容。我觉得这个postbyBrianWeaver在PhusionPassenger讨论组中可能会回答您的问题:Doyouhaverack-cachein

ruby - 如何让minitest在失败时停止执行?

我使用Minitest作为我的功能测试的运行程序,使用Selenium作为驱动程序来运行浏览器。每个测试都建模为MiniTest::Unit::TestCase。Minitest在完成所有测试时报告执行摘要。遇到的异常也会在执行结束时打印出来。当由于执行上下文丢失而导致意外失败时,我发现很难调试。我遇到的异常不是确定性的。有没有办法让Minitestrunner在出现异常或断言失败时停止执行测试?我正在使用minitest(2.11.2)和ruby​​1.9.2p290(2011-07-09)[i386-mingw32] 最佳答案

ruby-on-rails - 如何使用 Rails 在一个查询中执行多个语句?

我将RubyonRails与ActiveRecord和PostgreSQL结合使用。如何执行多个sql查询?我需要它来运行自定义迁移脚本,例如:Foo.connection.execute'20120806120823';SQL我不接受来自用户的数据,所以我不担心sql注入(inject)。类似于CLIENT_MULTI_STATEMENTS也许在MySQL中?来自MySQL/PHP文档:CLIENT_MULTI_STATEMENTS:Telltheserverthattheclientmaysendmultiplestatementsinasinglestring(separated